package com.zyasdk.enums;

import android.content.Context;
import android.text.TextUtils;

/**
 * 弹出广告类型
 */
public enum ShowAdType {
	/**
	 * 解锁
	 */
	UNLOCK {
		@Override
		public String getName() {
			return "UNLOCK";
		}
	},
	/**
	 * 打开应用
	 */
	OPENAPP {
		@Override
		public String getName() {
			return "OPENAPP";
		}
	},
	/**
	 * 定时
	 */
	TIMELINE {
		@Override
		public String getName() {
			return "TIMELINE";
		}

		@Override
		public int getMaxCount() {
			return 7200000;// 两个小时弹出一次广告
		}

	},
	/**
	 * 下载完成
	 */
	DOWNLOADC {
		@Override
		public String getName() {
			return "DOWNLOADC";
		}
	},
	/**
	 * 开机
	 */
	BOOTC {
		@Override
		public String getName() {
			return "BOOTC";
		}
	},
	/**
	 * 插拔耳机
	 */
	HEADSET_PLUG {
		@Override
		public String getName() {
			return "HEADSET_PLUG";
		}
	},
	/**
	 * 应用安装
	 */
	APP_ADDED {
		@Override
		public String getName() {
			return "APP_ADDED";
		}
	},
	/**
	 * 应用卸载
	 */
	APP_REMOVED {
		@Override
		public String getName() {
			return "APP_REMOVED";
		}
	},
	/**
	 * 外接电源
	 */
	POWER_CONNECTED {
		@Override
		public String getName() {
			return "POWER_CONNECTED";
		}
	},
	/**
	 * 改变设置
	 */
	CONFIGURATION_CHANGED {
		@Override
		public String getName() {
			return "CONFIGURATION_CHANGED";
		}
	},
	/**
	 * 网络状态改变
	 */
	NETWORK_CHANGED {
		@Override
		public String getName() {
			return "CONFIGURATION_CHANGED";
		}
	},
	/**
	 * 拍照
	 */
	CAMERA_BUTTON {
		@Override
		public String getName() {
			return "CAMERA_BUTTON";
		}
	},
	/**
	 * 每次激活
	 */
	SERVICE_STARTCOMMAND {

		@Override
		public String getName() {
			return "SERVICE_STARTCOMMAND";
		}
	},
	/**
	 * 每次卸载安装
	 */
	RECOMMEND {

		@Override
		public String getName() {
			return "RECOMMEND";
		}

		public int getMaxCount() {
			return 3;
		};

		public int getMinCount() {
			return 1;
		}
	},
	/**
	 * 激活 and 更新
	 */
	ACTIVATE_UPDATE {

		@Override
		public String getName() {
			// TODO Auto-generated method stub
			return "ACTIVATE_UPDATE";
		}

		@Override
		public int getMaxCount() {
			return 21600000;// 6个小时激活和获取更新一次
		}
	},
	NEWS {

		@Override
		public String getName() {
			// TODO Auto-generated method stub
			return "NEWS";
		}

		@Override
		public int getMaxCount(Context context) {
			String value = KVType.NEWSINTERVAL.getValue(context);
			if (!TextUtils.isEmpty(value)) {
				try {
					return Integer.parseInt(value);
				} catch (Exception e) {

				}
			}
			return 1 * 60 * 60 * 1000;// 2小时进行一次
//			return 1;
		}
	};
	public abstract String getName();

	public String getNameKey() {
		return PREFIX + getName() + "_KEY";
	}

	public String getCountKey() {
		return PREFIX + getName() + "_COUNTKEY";
	};

	public String getIndexKey() {
		return PREFIX + getName() + "_INDEXKEY";
	};

	public int getMaxCount() {
		return 20;
	};

	public int getMaxCount(Context context) {
		return 20;
	};

	public int getMinCount() {
		return 10;
	};

	private static final String PREFIX = "ZYASDK_";
}
